package com.xbongbong.sso.pojo.dto;

import com.xbongbong.paas.toolbox.wrap.BaseDTO;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 * 授权连接器编辑
 */
@Getter
@Setter
@ToString
public class OauthConnectorUpdateDTO extends BaseDTO {
    /**
     * 授权连接器id
     */
    @NotNull(message = "授权连接器id不能为空")
    Long id;
    /**
     * 启用状态, 1:启用、0:关闭
     * 默认启用
     */
    @Range(min = 0, max = 1, message = "启用状态只能是0或1")
    Integer enable;

    /**
     * 授权连接器类型,1:OAuth2
     */
    @Range(min = 1, max = 1, message = "授权连接器类型现在只能是1")
    Integer type;

    /**
     * 授权连接器名
     */
    @Size(max = 20, message = "授权连接器名长度不可超过20")
    String name;

    /**
     * 授权连接器标识，用于区分各链接
     */
    @Size(max = 50, message = "授权连接器标识长度不可超过50")
    String connectorSign;

    /**
     * clientId
     */
    @Size(max = 100, message = "clientId长度不可超过100")
    String clientId;

    /**
     * clientSecret
     */
    @Size(max = 200, message = "clientSecret长度不可超过200")
    String clientSecret;

    /**
     * 账号对应规则，1：手机号、2：工号、3：邮箱、4：自定义
     */
    @Range(min = 1, max = 4, message = "账号对应规则范围1～4")
    Integer accountRule;

    /**
     * 是否直接单点登录，0：否、1：是，默认为0
     */
    @Range(min = 0, max = 1, message = "直接单点登录只能是0或1")
    Integer directSsoLogin;
}
